import java.util.*;

/** Liste de modifications
  * pour la traduction de jeux video
  *
  * @author     Nemesis (nemesis_tt@yahoo.fr)
  * @version    24/05/04
  */
 
public class Modif_Liste extends Modif
{
    /** Titre */
    private String titre;

    /** Constructeur */
    public Modif_Liste(String titre_)
    {
        super();
        titre = titre_;
    }
    
    public String toString()
    {
        return titre;
    }
    
    public void appliquer()
    {
        AppliThread appli = new AppliThread();
        appli.start();
        appli.attendre();
    }
    
    private class AppliThread extends Thread {
        // Exécution
        // ---------
        public void run() {
            Logueur.loguer_texte(this + " en cours d'exécution...");
            Enumeration enumere = children();
            while(!stop && Logueur.noError()
                && enumere.hasMoreElements()) {
                while (pause)
                    try { sleep(100); }
                    catch (Exception e) {};
                ((Modif)enumere.nextElement()).appliquer();
            }
        }
    
        // Attente
        // -------
        public void attendre() {
            try {
                join();
            } catch (Exception e) {};
        }
        
        // Terminaison
        // -----------
        public void termine() {
            pause = false;
            stop = true;
            attendre();
        }
    
        public String toString()
        {
            return titre;
        }
    }
}
